Self-developing computer system

ABSTRACT

A computer system and process of operating a computer having a memory for storing knowledge which includes a reflection base and special knowledge. The reflection base contains complete instructions which can be executed by processors of known type and meta-knowledge about the instructions. The instructions provide components of new knowledge and the meta-knowledge is applied to the construction of compositions of the instructions. The special knowledge contains knowledge in a field of application. The special knowledge is changed and extended on the basis of the special knowledge itself wherein compositions of the instructions are constructed from the reflection base and the special knowledge, the execution of these compositions of instructions is controlled on the basis of the special knowledge, and components of the changed and extended special knowledge are generated from parts of the special knowledge and parts of the compositions of instructions. The outputs are produced with the aid of the changed and extended special knowledge.

TECHNICAL FIELD

The invention relates generally to artificial intelligence, which is asubfield of computer science, and more specifically to a computer systemand process of operating a computer that has a memory for storingknowledge, analyzes input signals, improves its efficiency by changingand extending the knowledge in its memory, and produces output signalson the basis of the changed and extended knowledge. The input signalscan be generated by keyboards or sensors and the output signals cancontrol printers, displays, or the movements of robots.

BACKGROUND ART

Conventional computer systems including robots are not able to improvetheir efficiency automatically by substantially changing and extendingthe programs or the knowledge in their memories (Feigenbaum, E. A., undMcCorduck, P., The Fifth Generation: Artificial Intelligence and Japan'sComputer Challenge to the World, Addison-Wesley, Menlo Park, Calif.,1983, p. 237). Such changes and extensions of the programs or theknowledge in machines are conventionally executed by human experts onthe basis of an analysis of a field of application, that is, theprograms or the knowledge are manually developed on the basis of amanual analysis of the field of application.

The ordinary use of conventional computer systems is that programs,which are compositions of elementary complete instructions, and data,which are to be processed by the programs, are loaded into theirmemories by means of input units, that the programs are applied to thedata by means of processors, and that the final results are transmittedto output units.

The field of expert systems relates to development of computer systemshaving special knowledge in a field of application (Hayes-Roth, F.,Waterman, D. A., and Lenat, D. B., Building Expert Systems,Addison-Wesley, London, 1983). An expert system consists of a knowledgebase and an inference machine. The knowledge base contains knowledge ina field of application and the inference machine methods for applyingthis knowledge. The knowledge consists of facts in the field ofapplication and heuristic rules containing experiental knowledge. Theknowledge base and the inference machine are manually developed on thebasis of a manual analysis of the field of application. In tightlyrestricted fields of application the efficiency of expert systems iscomparable to that of human experts (ibid., p. 38). Two well-knownexpert systems are MYCIN and R1. MYCIN diagnoses blood deseases andoffers advice for their therapy (Shortliffle, E. H., MYCIN:Computer-Based Medical Consultations, American Elsevier, New York,1976). R1 generates configurations for the VAX computer system ofDigital Equipment Corporation on the basis of customer orders. Theseconfigurations consist of diagrams which contain the spacial relationsof the components in the orders (McDermott, J., "R1: A Rule-BasedConfigurer of Computer Systems", Technical Report CMU-CS-80-119,Computer Science Department, Carnegie-Mellon University, Pittsburg, Pa.1980).

The field of machine learning has the object to develop computer systemsthat change and extend the knowledge in their memories. Some well-knownlearning systems are briefly described subsequently. Systems using amethod called explanation-based learning transform a manually giveninefficient definition of a concept to be learned into an efficientdefinition on the basis of a manually given description of an example, amanually given theory of a field of application, and manually givencriteria specifying efficient expressions in which the concept to belearned shall be represented (Mitchell, T. M., Keller, R. M., andCedar-Cabelli, S. T., "Explanation-based generalization: A unifyingview", Machine Learning, Vol. 1, No. 1, 1986, pp. 47-80). The LP systemlearns new methods for solving equations by a procedure calledprecondition analysis (Silver, B., "Precondition analysis: Learningcontrol information", in R. S. Michalski, J. G. Carbonell, and T. M.Mitchell (Hrsg.), Machine Learning: An Artificial Intelligence Approach,Vol. II, Morgan Kaufmann, Los Altos, Calif., 1986). LP uses a manuallygiven sophisticated syntax for his methods and begins with some fifteenmethods (ibid., p. 651). The AM system discovered mathematicaldefinitions and conjectures (Lenat, D. B., "AM: Discovery in mathematicsas heuristic search", in D. B. Lenat und R. Davis, Knowledge-BasedSystems in Artificial Intelligence, McGraw-Hill, New York, 1982). It isbased on a set of manually given concepts, a set of manually givenheuristic rules, and a detailed model of mathematical research developedby human experts (ibid., pp. 61-101, pp. 152-161, pp. 35-59, pp.163-204, and pp. 147-149). The EURISKO system, which is a furtherdevelopment of AM, was also applied to fields outside of mathematics(Lenat, D. B., "EURISKO: A program that learns new heuristics and domainconcepts", Artificial Intelligence, Vol. 21, 1983, pp. 61-98). It isalso based on a set of manually given concepts, a set of manually givenheuristic rules, and detailed models of the fields of application whichwere developed by human experts. Thus, learning systems are based onsophisticated manually developed methods and extensive complex knowledgewhich are also manually developed on the basis of a manual analysis ofthe fields of application. The complexity of the fields of applicationof conventional learning systems corresponds to the complexity ofproblems in high-school mathematics or the complexity of discoveries inelementary mathematics (Mitchell, T. M., Keller, R. M., andCedar-Cabelli, S. T., "Explanation-based generalization: A unifyingview", Machine Learning, Vol. 1, No. 1, 1986, pp. 61-64; Silver, B.,"Precondition analysis: Learning control information", in R. S.Michalski, J. G. Carbonell, and T. M. Mitchell (Eds.), Machine Learning:An Artificial Intelligence Approach, Vol. II, Morgan Kaufmann, LosAltos, Calif., 1986, p. 647; Lenat, D. B., "AM: Discovery in mathematicsas heuristic search", in D. B. Lenat und R. Davis, Knowledge-BasedSystems in Artificial Intelligence, McGraw-Hill, New York, 1982, p. 7).

Outside of the field of machine learning, there were no successfulattempts to develop theories, in particular, methods that can beexecuted by machines, for the construction of new knowledge (Simon, H.A., "Does scientific discovery have a logic?", Philosophy of Science,Vol. 40, No. 4, 1973, p. 474; Simon, H. A., and Newell, A.,"Informationsverarbeitung und Problemosen", in G. Steiner (ed.), Piagetund die Folgen, Kindler, Zurich, Switzerland, 1978, p. 247). The objectof these unsuccessful attempts was to develop such theories or methodsmanually. Well-known scientists such as A. Einstein, W. Heisenberg, andK. R. Popper supposed that there are no theories concerning thedevelopment of new knowledge, in particular, no mechanical methods forits construction (see Ammon, K., "The Automatic Development of Conceptsand Methods", Doctoral Dissertation, University of Hamburg, 1988, p.178).

The above overview of conventional computer systems, expert systems,learning systems, and other systems concerning the construction of newknowledge shows that these systems are based on manually developedtheories which contain the programs, the methods, or the knowledge inthese systems. These theories are developed on the basis of a manualanalysis of a field of application. This means that there arenon-elementary explicit theories of the processes that processinformation or generate new knowledge in these systems. This entailsthat the information in the inputs and the outputs these systemsprocess, in particular, the relations between this information in theinputs and outputs, can completely be covered by explicit theories.Therefore, these systems have the disadvantages that they cannot byapplied in complex fields that cannot completely be covered by givenexplicit theories and thus automatic changes and extensions of theirtheories, that is, their programs, their methods, and their knowledge,are required. For example, computer programs are developed by humanexperts in costly working processes. Therefore, conventional computersystems cannot be applied in fields that cannot completely be covered byexplicit theories. Conventional expert systems and conventional learningsystems also have these disadvantages: The extension of expert systemsbeyond the field of application originally contemplated by theirdesigners is very difficult (McCarthy, J., "Some expert systems needcommon sense", Annals of the New York Academy of Sciences, Vol. 426,1983, pp. 129-137) and the efficiency of learning systems decreasesdrastically after some period of time (Lenat, D. B., "AM: Discovery inmathematics as heuristic search", in D. B. Lenat und R. Davis,Knowledge-Based Systems in Artificial Intelligence, McGraw-Hill, NewYork, 1982, p. 7 und p. 135; Mitchell, T. M., "Learning and problemsolving", Proceedings of the Eighth International Conference onArtificial Intelligence, Karlsruhe, West Germany, August 1983, Kaufmann,Los Altos, Calif.).

DISCLOSURE OF INVENTION

The object of the invention is to provide a user-friendly and economicalcomputer system and process of operating a computer with a memory forstoring knowledge that can also be used in fields that cannot completelybe covered by given explicit theories and thus automatic changes andextensions of its knowledge are required.

According to the invention, this object is achieved by the computersystem and process of operating a computer described subsequently. Itprocesses input signals and finally generates output signals with theaid of the knowledge in its memory, wherein the input and the outputsignals represent information. It is called self-developing because itis able to generate new knowledge on the basis of more elementaryknowledge. The knowledge in its memory contains a reflection base andspecial knowledge. The reflection base provides components, that is,building blocks, for representing new knowledge. It contains completeinstructions, that is, these instructions can be executed by processorsof known type. The instructions provide components, that is, buildingblocks, of new knowledge. Furthermore, the reflection base containsmeta-knowledge about the instructions for constructing compositions ofthe instructions. Thus, the instructions and the meta-knowledge may beregarded as elementary with regard to these compositions because theyprovide components, that is, building blocks, of these compositions. Thespecial knowledge contains knowledge in a field of application, that is,knowledge relating to a field of application in any sense, for example,facts, experiental knowledge, or methods that belong to the field or canbe used in the field. The special knowledge provides a basis forchanging and extending the special knowledge itself, that is, thespecial knowledge is applied to its own change and extension, whichyields new special knowledge. This is achieved by constructingcompositions of complete instructions from the reflection base and thespecial knowledge, controlling the execution of these compositions onthe basis of the special knowledge, and generating components of thechanged and extended special knowledge from parts of the previousspecial knowledge and parts of these compositions of instructions. Thisentails that part of the previous special knowledge and parts of thesecompositions of instructions form essential components of the changedand extended special knowledge, that is, the new special knowledge. Inthis sense, the previous special knowledge may be regarded as moreelementary than the changed and extended special knowledge. Therefore,the special knowledge is not changed and extended on the basis ofmanually given exlicit methods. Rather, it is changed and extendedthrough experience on the basis of previous special knowledge, that is,the special knowledge is applied as a method to its own change andextension. Thus, the processes changing and extending the specialknowledge cannot completely be covered by a given explicit theorybecause the method for changing and extending the special knowledge isgenerated by the self-developing computer system or process itself frommore elementary special knowledge. The indeterminacy of these processesis essentially caused by the fact that they generate new knowledge onthe basis of more elementary knowledge (see Ammon, K., "The AutomaticDevelopment of Concepts and Methods", Doctoral Dissertation, Universityof Hamburg, 1988, pp. 80-83, pp. 150-151, pp. 174-175, and p. 178). Thescientific theory which forms the basis for the self-developing computersystem and process is presented in the dissertation given above. Theself-developing computer system or process generates output signals withthe aid of the changed and extended special knowledge, for example, itcan directly output changed and extended special knowledge or it canapply changed and extended special knowledge to generate output signalsfrom input signals.

The special knowledge in a field of application can comprise knowledgecomponents containing knowledge in subfields of a field of application,that is, these knowledge components relate to subfields of the field ofapplication in any sense. If knowledge components are not available forinput signals, that is, for a field of application or a subfield of afield of application, knowledge components are generated for subsets ofthe input signals on the basis of the reflection base, wherein theseknowledge components for example contain elementary knowledge aboutthese subsets or arise from parts of available knowledge components byadding elementary knowledge. I call this construction of new knowledgecomponents division. The self-developing computer system or process canintegrate available knowledge components, that is, to compose them intoa single knowledge component. I call this integration of availableknowledge components unification. Thus, the self-developing computersystem or process can change and extend its special knowledge bydivision and unification processes of knowledge components. Theprocesses changing and extending the special knowledge can containsimplification processes that separate essential knowledge frominessential knowledge and thus filter out essential knowledge. Forexample, the system can accomplish this by generating variations ofspecial knowledge by tentatively deleting parts of the special knowledgeand then testing whether the variations have an efficiency comparable tothat of the original special knowledge. If this is true, these parts ofthe special knowledge are deleted definitively. The reflection base cancontain a universal set of elementary complete instructions, from whichall other complete instructions can be composed, and meta-knowledgeabout these instructions. This means that these instructions and thismeta-knowledge are largely domain-independent, that is, largelyindependent of fields of application. The self-developing computersystem or process can change and extend the special knowledge in afeedback process on the basis of special knowledge it itself has changedand extended. The change and extension of special knowledge in theself-developing computer system or process can obey the principle ofeconomy, that is, the self-developing computer system or process tendsto change and extend its special knowledge in such a manner that theamount of the resources required for the application of the changed andextended special knowledge tends to decrease. For example, this meansthat previously unsolvable problems can be solved with the availableresources and that the amount of the resources required for solvingproblems tends to decrease. For example, the self-developing computersystem or process can accomplish this by generating variations of newspecial knowledge on the basis of more elementary special knowledge andthe reflection base and then selecting the most efficient variations,for example, the variations that have the largest scope of applicationor require less resources. For example, the generation of suchvariations can be accomplished by unifying two knowledge components inthe special knowledge into a new knowledge component which is avariation of the original knowledge components or by generatingvariations of knowledge components by deleting parts of these knowledgecomponents or inserting parts of other knowledge components into them.The self-developing computer system or process can analyze failures inthe application of the special knowledge and correct the specialknowledge so that the failures are avoided. For example, it can analyzeerrors or inefficiencies in its special knowledge, therefore change andextend this knowledge, and test and confirm the correctness orefficiency of the changed and extended knowledged by applying thischanged and extended knowledge. The self-developing computer system orprocess can determine functional values of non-computable functions,that is, functions that cannot be represented by given computerprograms. This determination is accomplished in the same way as theself-developing computer system or process generates new specialknowledge including computer programs. The special knowledge can containcomplete instructions and meta-knowledge about these instructions fromthe reflection base and the self-developing computer system or processcan change and extends these instructions and this meta-knowledge. Thus,it can for example generate complete instructions and meta-knowledgeabout these instructions that are not contained in the reflection base.The system can be a subsystem of any computer system. It can contain oneor several reflection bases in one or several memories of one or severalcomputer systems and the generation of new knowledge can be executed inseveral processes. The special knowledge can contain compositions ofcomplete instructions from the reflection base and the self-developingcomputer system or process can change and extend these compositions ofcomplete instructions. For example, such compositions can be computerprograms. Thus, the self-developing computer system or process developsnew computer programs. The self-developing computer system or processcan contain a procedure that generates objects satisfying a givendescription by producing a set of objects from this description andselecting objects from this set that satisfy the description.

In an initialization stage, special knowledge is manually put into theself-developing computer system or process until it is able to changeand extend its knowledge on the basis of more elementary knowledge andto process input signals and generate output signals on the basis of itschanged and extended knowledge, wherein the input and output signalsneed not be completely coverable by given explicit theories.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows the interaction of the most important functional units inthe memory of a self-developing computer system or process.

FIG. 2 exemplarily shows the structure of the special knowledge which iscomposed of knowledge components.

FIG. 3 exemplarily shows the structure of the special knowledge in FIG.2 at a later point of time.

FIG. 4 shows the development of the special knowledge in aself-developing computer system or process on the basis of itsreflection base. This development is controlled by a feedback process.

BEST MODE FOR CARRYING OUT THE INVENTION

A detailed description of the best mode for carrying out the inventionis given below. It should be understood, however, that it is notintended to limit the invention to the particular form disclosed, but onthe contrary, the intention is to cover all modifications, equivalents,and alternatives falling within the spirit and scope of the invention asdefined by the appended claims.

FIG. 1 shows the most important functional units in a memory 3 of aself-developing computer system. The input signals 1, which aretransmitted from input units or other computer systems, are processed bymeans of the knowledge in the memory 3. Thus, output signals, which aretransmitted to output units or other computer systems, are generated.For example, the input units can be keybords or sensors and the outputunits printers, displays, or the arms of robots. The memory 3 containscompositions of elementary complete instructions 4, that is, theseinstructions can be executed by conventional processors. For example,such an instruction may generate new lists from original lists byreversing the order of the members in the original lists. Furthermore,the memory 3 contains knowledge which includes special knowledge 5 and areflection base 6. The special knowledge 5 contains knowledge thatbelongs to a field of application or can be applied in the field. Forexample, the special knowledge can contain spatial knowledge and methodsto apply this knowledge to the movement of objects. The specialknowledge is domain-specific, that is, its structures are largelydetermined by their fields of application. A part of the knowledge canbe represented in a form that is similar to subsets of naturallanguages. The reflection base 6 contains elementary completeinstructions and elementary meta-knowledge about these instructions. Forexample, the reflection base 6 may contain an instruction that invertsthe order of the members in a list and the knowledge that the repeatedapplication of this instruction to a list yields the original list. Thereflection base 6 can be largely domain-independent, that is, largelyindependent of fields of application because there are limited sets ofelementary complete instructions from which all complete instructionscan be composed and the elementary meta-knowledge about theseinstructions is also limited.

The mode of operation of a self-developing computer system is to processthe input signals 1 by means of the special knowledge 5 and thereflection base 6 and to generate output signals as a final result. Theinput and output signals of a self-developing computer system need notbe completely coverable by theories. The processing of the input signals1 is achieved by generating compositions of elementary completeinstructions on the basis of the special knowledge 5 and the reflectionbase 6 and then executing these instructions. The execution of theseinstructions is controlled by the special knowledge 5. FIG. 2exemplarily shows the structure of the special knowledge 5 whichconsists of the knowledge components 51, 52, 53, and 54, that is, thesecomponents relate to specific subfields of a field of application. FIG.4 illustrates the generation of new special knowledge 5. Aself-developing computer system changes and extends its specialknowledge 5 in a feedback process 7 on the basis of available, moreelementary special knowledge 5. The new special knowledge can again beapplied to its own change and extension. Thus, a self-developingcomputer system does not change and extend its special knowledge 5 onthe basis of manually given, explicit methods or knowledge bases.Rather, it changes and extends its special knowledge 5 in a feedbackprocess 7 on the basis of more elementary knowledge. If no specialknowledge 5 is available for a field of application, a self-developingcomputer system generates elementary special knowledge 5 for this fieldon the basis of the reflection base 6. The changes and extensions of thespecial knowledge 5 are characterized by division and unificationprocesses of knowledge components. FIG. 3 exemplarily shows thestructure of the special knowledge 5 in FIG. 2 at a later point of time.The knowledge components 51 and 52 are unchanged. The knowledgecomponents 55, 56, and 57 are new: The knowledge components 55 and 56result from division processes and the knowledge component 57 resultsfrom a unification process. The knowledge component 55 containselementary special knowledge 5 about new input signals. Aself-developing computer system generates such a knowledge component ifno knowledge component is available for new input signals. The knowledgecomponent 56 contains parts of the knowledge component 52. Such aknowledge component is generated if parts of an available knowledgecomponent can be used for processing new input signals. The knowledgecomponent 57 results from a unification of the knowledge components 53and 54. The knowledge components resulting from such unificationprocesses more efficiently perform the function of the knowledgecomponents from which they arise.

Now, the structure and the mode of operation of a self-developingcomputer system are illustrated by an example in the field ofmathematics. The example describes how a self-developing computer systemanalyzes a proof of a simple theorem and thus generates specialknowledge which contains methods for the generation of other proofs. Inthis way, the example shows how such a system develops special knowledgeby processing input signals and uses this knowledge to solve problems itcould not solve previously. Mathematical proofs and the functiondetermining whether a mathematical proposition is true or false cannotcompletely be covered by given explicit theories (Ammon, K., "TheAutomatic Development of Concepts and Methods", Doctoral Dissertation,University of Hamburg, 1988). The field of mathematics was chosenbecause it makes a compact illustration of a simple and efficientself-developing computer system possible.

The example applies a functional representation of instructions.Therefore, instructions are often called functions or forms, theexecution of instructions is called evaluation, and the result of theexecution of instructions is called value. This functionalrepresentation is also applied to the representation of knowledge.

Mathematical axioms and theorem. The example belongs to group theory.The axiomatization used here requires that linear equations aresolvable. It departs from the usual axiomatization for which linearequation solvability is a theorem. A group is a set with three binaryoperations, that is, these operations assign exactly one element of theset to each pair of elements of the set. The first operation is calledgroup operation. The element assigned to two elements x and y is writtenas xy for the group operation, as g(x,y) for the second operation, andas h(x,y) for the third operation. The following mathematical axiomshold for a group:

    (xy)z=x(yz)                                                1.

    g(x,y)x=y                                                  2.

    xh(x,y)=y                                                  3.

An example of a group is the set of the rational numbers withmultiplication as the group operation and two further operations g and hassigning the rational number y/x to each pair of rational numbers x andy. The theorem is: For all elements a and b of a group, the equation

    g(a,a)b=b

holds. The theorem implies that there is a left identity in a group. Inthe computational representation of the axioms and the theorem, (=x y)stands for the equation x=y and (f x y), (g x y) and (h x y) for theterms xy, g(x,y), and h(x,y), where x and y are terms. In order toimprove the readability of this description, the equations obtained byexchanging the left and right sides of the axioms are added to theaxioms. Thus, the computational representation of the axioms is:

    ______________________________________                                               (set (= (f (f x y) z) (f x (f y z)))                                               (= (f x (f y z)) (f (f x y) z))                                               (= (f (g x y) x) y)                                                           (= y (f (g x y) x))                                                           (= (f x (h x y)) y)                                                           (= y (f x (h x y)))).                                             ______________________________________                                    

The computational representation of the theorem is

    (=(f(g a a)b)b).

Proof. A proof in ordinary representation for the theorem g(a,a)b=bconsisting of four proof steps is:

1. Because of Axiom 3, the equation g(a,a)b=g(a,a)(ah(a,b)) holds.

2. Because of Axiom 1, the equation g(a,a)(ah(a,b))=(g(a,a)a)h(a,b)holds.

3. Because of Axiom 2, the equation (g(a,a)a)h(a,b)=ah(a,b) holds.

4. Because of Axiom 3, the equation ah(a,b)=b holds.

Because of the transivity of the equality relation, the equations givenabove yield the equation g(a,a)b=b. This completes the proof. Thecomputational representation of the proof is

    ______________________________________                                        (tuple (pair                                                                          (= (f (g a a)                                                                            b) (f (g a a) (f a (h a b))))                                      (chain-rule                                                                              (f (g a a) b)                                                                 2                                                                             (= y (f x (h x y)))                                                           (set a/x b/y)))                                            (pair   (= (f (g a a)                                                                            (f a (h a b))) (f (f (g a a) a) (h a b)))                          (chain-rule                                                                              (f (g a a) (f a (h a b)))                                                     ()                                                                            (= (f x (f y z)) (f (f x y) z))                                               (set (g a a)/x a/y (h a b)/z)))                            (pair   (= (f (f (g a                                                                            a) a) (h a b)) (f a (h a b)))                                      (chain-rule                                                                              (f (f (g a a) a) (h a b))                                                     1                                                                             (= (f (g x y) x) y)                                                           (set a/x a/y))))                                           (pair   (= (f a (h a                                                                             b)) b)                                                             (chain-rule                                                                              (f a (h a b))                                                                 ()                                                                            (= (f x (h x y)) y)                                                           (set a/x b/y)))).                                          ______________________________________                                    

The proof is a tuple containing four proof steps which are representedas pairs. The first member of a proof step is an equation and the secondmember contains a rule of inference chain-rule and arguments for thisrule. The equations in the first members of the proof steps are theequations of the proof in ordinary representation given above. The firstargument of the chain rule chain-rule in the second member of a proofstep is a term, the second argument a pointer to a subterm of this term,the third argument an equation, and the fourth argument a substitutionfor the variables of this equation. The application of the substitutionto the equation yields an equation whose left term is equal to thesubterm of the term in the first argument the pointer points to. Theapplication of the chain rule chain-rule to its arguments yields anequation whose left side is equal to the term in the first argument andwhose right side is obtained by replacing the subterm of this term thepointer points to by the right side of the equation obtained by applyingthe substitution in the fourth argument to the equation in the thirdargument. An example is: The first argument of the chain rule in thefirst proof step is the term (f(g a a)b), the second argument is thepointer 2, which points to the substerm b of this term, the thirdargument is the equation (=y(f x(h x y))), and the fourth argument isthe substitution (set a/x b/y), which describes the substitution of theelement a for the variable x and the substitution of the element b forthe variable y. The application of this substitution to the equation inthe third argument yields the equation (=b(f a(h a b))). Thus, theapplication of the chain rule chain-rule to the arguments given aboveyields the equation (=(f(g a a)b) (f(g a a) (f a(h a b)))).

Method. A method generating the proof from the axioms and the theorem isthe function

    __________________________________________________________________________    (function method (axioms theorem)                                             (assign '(tuple) to partial-proof)                                            (loop                                                                             (if                                                                             (contains-proof: theorem partial-proof)                                       then                                                                          (return (extract-proof theorem partial-proof)))                         (append the elements of                                                              (last-nonempty-set                                                              (set-of                                                                           s                                                                             (and                                                                             (proof-step: s)                                                               (equal: (arg '(2 0) s) 'chain-rule)                                           (equal: (arg '(2 1) s) (arg 1 theorem))                                       (element: (arg '(2 3) s) axioms)                                              (subset:                                                                          (substituents (arg '(2 4) s))                                                 (variables theorem))))                                             (set-of                                                                           s                                                                             (and                                                                             (proof-step: s)                                                               (equal: (arg '(2 0) s) 'chain-rule)                                           (element: (arg '(2 1) s) (projection '(1 2)                                   partial-proof))                                                               (element: (arg '(2 3) s) axioms)                                              (subset:                                                                          (variables (arg 2 (arg '(2 3) s)))                                            (variables (arg 1 (arg '(2 3) s))))                                       (not (element:                                                                       (arg '(1 2) s)                                                                (projection '(1 1) partial-proof))))))                        to the partial-proof))).                                               __________________________________________________________________________

The method method is a binary function whose first argument is a set ofaxioms axioms and whose second argument is a theorem therorem. Themethod consists of an assign form and a loop form which are executed inthe given order. It uses the variable partial-proof which contains atuple of proof steps. The assign form assigns the empty tuple (tuple) tothe variable partial-proof. The loop form consists of an if form and anappend form which are executed in the given order until the condition inthe first argument of the if form is satisfied. This condition testswhether the partial proof contains a proof of the theorem, that is,whether the theorem can be derived from the first members of the proofsteps on the basis of the transivity of the equality relation. The colonas the last character of a function name indicates that the function isa predicate, that is, its evaluation yields the value true or false. Ifthe condition described above is satisfied, the function extract-proofdeletes the proof steps that are not necessary and hence superfluous forthe proof and returns the proof contained in the partial proof as theresult of the function method. If the condition in the contains-proof:form is not satisfied, the append form is executed, which appends theelements of the set generated by the last-nonempty-set form to thepartial proof. The last-nonempty-set form consists of two set-of formswhich construct the set of all objects satisfying the conditions intheir second arguments. First, the second set-of form is executed. If ityields a nonempty set, this set is the value of the last-nonempty-setform. Otherwise, the first set-of form is executed and the resulting setis the value of the last-nonempty-set form. The first set-of formgenerates the set of all objects s satisfying the following conditions:

1. The object s is a proof step.

2. The rule of inference in the second member of the proof step s is thechain rule. (A detailed definition of the function arg is given in theappendix.)

3. The first argument of the chain rule is equal to the first argumentof the theorem, that is, to its left side.

4. The third argument of the chain rule is an axiom.

5. The substituents of the substitution in the fourth argument of thechain rule are variables contained in the theorem.

Roughly speaking, the first set-of form generates the set of allequations whose left side is equal to the left side of the theorem andwhose right sides are generated on the basis of substitutions whosesubstituents are variables contained in the theorem. The second set-ofform generates the set of all objects s satisfying the followingconditions:

1. The object s is a proof step.

2. The rule of inference in the second member of the proof step s is thechain rule.

3. The first argument of the chain rule is equal to the second term inthe first member of a proof step. (A detailed definition of the functionprojection is given in the appendix.)

4. The third argument of the chain rule is an axiom.

5. The variables in the second argument of the equation in the thirdargument of the chain rule are contained in the first argument of thisequation.

6. The second argument in the first member of the proof step s is notthe first argument in the first member of a proof step in the partialproof.

Roughly speaking, the second set-of form generates the set of allequations whose left side is equal to the right side of an equation inthe partial proof and whose right side is not longer than its left sideand not contained in the partial proof. The application of the method tothe axioms and the theorem yields eighteen proof steps whose firstmembers are given in the following table:

    __________________________________________________________________________    First set-of form                                                                           Second set-of form                                              __________________________________________________________________________    g(a, a)b = g(g(a, a)a, a)b                                                    g(a, a)b = g(g(b, a)b, a)b                                                    g(a, a)b = g(a, g(a, a)a)b                                                    g(a, a)b = g(a, g(b, a)b)b                                                    g(a, a)b = g(a, a)(g(a, b)a)                                                                ... = (g(a, a)g(a, b))a                                         g(a, a)b = g(a, a)(g(b, b)b)                                                                ... = (g(a, a)g(b, b))b                                         g(a, a)b = g(ah(a, a), a)b                                                    g(a, a)b = g(bh(b, a), a)b                                                    g(a, a)b = g(a, ah(a, a))b                                                    g(a, a)b = g(a, bh(b, a))b                                                    g(a, a)b = g(a, a)(ah(a, b))                                                                ... = (g(a, a)a)h(a, b)                                                                  ... = ah(a, b)                                                                        ... = b                                      g(a, a)b = g(a, a)(bh(b, b))                                                                ... = (g(a, a)b)h(b, b)                                         __________________________________________________________________________

In each case, the points stand for the right sides of the equations inthe same line of the preceding column. The equations required for theproof are underlined. The equations in the first column are generated bythe first set-of form in the method and the equations in the othercolumns by the second set-of form. The first six equations in the firstcolumn arise by applying the second axiom and the other equations in thefirst column by applying the third axiom. The equations in the secondcolumn arise by applying the first axiom, the equation in the thirdcolumn by applying the second axiom, and the equation in the fourthcolumn by applying the third axiom. The generation of the eighteen proofsteps by the set-of forms in the method is described in the followingparagraph.

The set-of function. The set-of function is a binary function whosefirst argument is a variable and whose second argument is a conjunctioncontaining this variable. It generates the set of all objects satisfyingthe conditions in the arguments of the conjunction. This is accomplishedin three steps. The first step applies the axioms in the reflection baseto the conjunction which yields additional conditions. The second stepreplaces element relations between parts of the objects to be generatedand finite sets by equality relations between the parts and the elementsof these sets. The third step evaluates the conjunctions generated inthe second step. If conditions in the arguments of such a conjunctionare not satisfied, this conjunction is deleted. Otherwise, an objectsatisfying the conditions in the arguments of this conjunction isgenerated. The objects thus generated are exactly the objects satisfyingthe conditions in the arguments of the original conjunction. Theevaluation of the first set-of form in the method is describedsubsequently. The reflection base contains the axioms

    __________________________________________________________________________    (for-all                                                                            x                                                                             (if                                                                             (and                                                                             (proof-step: x)                                                               (equal: (arg '(2 0) x) 'chain-rule)                                        then                                                                          (and                                                                             (term: (arg '(2 1) x))                                                        (element: (arg '(2 2) x) (subterm-pointers (arg '(2 1) x)))                   (equation: (arg '(2 3) x))                                                    (substitution: (arg '(2 3) x) (arg '(2 4) x))                                 (equal:                                                                           (arg (arg '(2 2) x) (arg '(2 1) x))                                           (arg 1 (substitute (arg '(2 3) x) (arg '(2 4) x))))                       (equal: (arg 1 s) (apply (arg 2 s))))))                            and                                                                           (for-all  e s t m                                                                       (if                                                                             (and                                                                             (equation: e)                                                                 (substitution: e s)                                                           (equal: t (arg 1 (substitute e s)))                                           (subset: (substituents s) m))                                              then                                                                          (element: s (generate-substitutions t e m)))).                    __________________________________________________________________________

The first axiom describes the arguments of the rule of inferencechain-rule. Furthermore, it states that the first member of a proof stepis generated by applying the chain rule to the arguments in the secondmember. The second axiom states: If s is a substitution for thevariables of an equation e, t the left side of the equation obtained byapplying s to g, and the substituents of s are contained in a set ofterms m, then s is contained in the set of substitutions generated bymatching the left side of e with t and binding the variables of e thatare not contained in the resulting substitution by terms contained in m.For example, the value

    (generate-substitutions `b`(=y(f x(h x y))) `(set a b))

is the set of substitutions

    (set (set a/x b/y) (set b/x b/y)).

The application of the two axioms to the first set-of form in the methodyields the set-of form ##STR1## The box encloses the arguments of theconjunction added by the application of the two axioms. The second stepreplaces the equality relations in the fourth, seventh, and twelfthargument of the conjunction by equality relations to the elements of thecorresponding sets. For example, the first element relation

    (element: (arg `(2 3)s) axioms)

is first replaced by the equality relation

    (equal: (arg `(2 3)s) `(=(f(f x y)z(f x(f y z)))).

The third step evaluates the arguments of the resulting conjunctions.Exactly twelve conjunctions do not contain arguments whose value isfalse. Because they describe all parts of proof steps, a set of twelveproof steps can be generated from them immediately. This set is thevalue of the first set-of form in the method. The evaluation of thesecond set-of form is accomplished analogously, wherein the axiom

    ______________________________________                                        (for-all e s t                                                                (if (and                                                                              (equation: e)                                                                 (substitution: e s)                                                           (equal: t (arg 1 (substitute e s)))                                           (subset: (variables (arg 2 e)) (variables (arg 1 e)))                 then                                                                          (equal: s (match t (arg 1 e)))))                                              ______________________________________                                    

is applied instead of the second axiom. The axiom given above states: Ifs is a substitution for the variables of an equation e, t the left termof the equation obtained by applying s to e, and the variables in theright side of e are contained in the left side of e, then s is generatedby matching the left side of e with t.

A self-developing analysis procedure. This section describes an analysisprocedure which produces the method from the axioms, the theorem, andthe proof. The proof steps of the proof are analyzed one by one. Theproof step presently being analyzed is subsequently called current proofstep. The analysis procedure is an iteration procedure whose iterationvariables are a pointer to the current proof step, a partial proof, anda partial method. At the beginning the pointer is 1, the partial proofis the empty tuple (tuple), and the partial method is the function

    ______________________________________                                        (function partial method (axioms theorem proof pointer)                       (assign '(tuple) to partial-proof)                                            (loop   (if   (subset: (up-to-nth proof pointer) partial-proof)                             then                                                                          (return partial-proof))                                         (append the elements of                                                                 (last-nonempty-set)                                                           to the partial-proof))).                                            ______________________________________                                    

The arguments of the function partial-method are a set of axioms, atheorem, a proof, and a pointer to a proof step. First, the partialmethod assigns the empty tuple (tuple) to the variable partial-proof.Then, the if form and the append form are repeatedly executed in thegiven order until the condition in the if form is satisfied. The if formtests whether the proof steps in the proof up to the proof step thepointer points to are contained in the partial proof. If this is true,the partial proof is returned. Otherwise, the append form is executed.It appends the elements of the last-nonempty-set form to the partialproof. This completes the description of the initial values of theiteration variables. The iteration step, that is, the analysis of asingle proof step, has six stages:

1. Application of the partial method. This stage multiples theevaluation time of the form

    (partial-method axioms theorem proof pointer-1),

where the value of the variable pointer-1 is the value of the pointerdiminished by one, by a number greater than one such as two or four,which yields a time interval. If the evaluation of the form

    (partial-method axioms theorem proof pointer)

within this time interval yields a set of proof steps containing thecurrent proof step, that is, the proof step the pointer points to, thesixth stage of the iteration step is executed. Otherwise, the secondstage is executed.

2. Elementary analysis. This stage generates a set-of form

    ______________________________________                                        (set-of   s                                                                             (and   (proof-step: s)                                                               (equal: (arg '(2 0) s) 'chain-rule)                                           ...)).                                                       ______________________________________                                    

The arguments of the conjunction are generated on the basis of initialstatements and axioms. These axioms are contained in the reflectionbase. They contain knowledge for the construction of new statements. Thestatements state the membership of objects. A subset of the statementsdesignate propositions. The initial statements are the arguments of theconjunction in the set-of form given above or they state the membershipof the given objects. An example of an initial statement stating themembership of a given object is the knowledge that the given theorem isan equation. The axioms describe the domains and ranges of theelementary functions that can occur in set-of forms. An example of anaxiom is the knowledge that the left side of an equation is a term. Anexample of an axiom yielding a proposition is the knowledge that theequality relation between two terms forms a proposition. The applicationof the axioms in the reflection base to the given statements yields newgenerations of statements which are added to the existing statements.The propositions designated by new statements of a generation areprocessed as follows: The variable s is replaced by the proof step thepointer points to and the resulting proposition is evaluated. If itsvalue is false, the next proposition designated by a statement isevaluated. If its value is true, the proposition is appended to thearguments of the conjunction in the set-of form given above. If, afterall propositions are processed, the evaluation of the resulting set-ofform yields a set of proof steps within a given time interval such asten minutes, the third stage of the iteration step is executed.Otherwise, a new generation of statements is generated.

3. Simplification. The conjunction in the set-of form generated by thepreceding stage contains unessential arguments. Therefore, the systemmultiples the execution time of this set-of form by a number greaterthan one, for example, two or four, which yields a time interval. Then,it tentatively removes one argument at a time from the conjunction andevaluates the resulting set-of form. If this yields a set of proof stepswithin the time interval, the corresponding argument is definitivelyremoved from the conjunction. Thus, this procedure produces a set-ofform from whose conjunction no argument can be removed, that is, theconjunction finally contains only essential arguments.

4. Unification. If the partial method does not contain a set-of form,the fifth stage of the iteration step is executed. Otherwise, this stageattempts to unify the set-of form produced by the third stage and thelast set-of form in the partial method into a set-of form

    ______________________________________                                        (set-of   s                                                                             (and   (proof-step: s)                                                               (equal: (arg '(2 0) s) 'chain-rule)                                           ...))                                                        ______________________________________                                    

which performs the function of the two original set-of forms. First, thevalue of the form

    (partial-method axioms theorem proof pointer-2),

where the value of the variable pointer-2 is the value of the pointerdiminished by two, is assigned to the variable partial-proof, that is,this variable is reset to the value it had in the analysis of the proofstep before the current proof step. The unification is accomplished inthree substages:

(a) Analogously to the elementary analysis, generations of statementsare generated by means of the axioms in the reflection base. Theknowledge that the arguments of the conjunctions in the original set-offorms are propositions is used in the form of additional initialstatements. Then, Substage (b) is executed.

(b) The statements from Substage (a) designating propositions areprocessed one by one. If no more statements are available, a newgeneration of statements is produced according to Substage (a). Theprocessing of these statements is accomplished as follows: The variables in the proposition is replaced by the proof step before the currentproof step and the resulting proposition is evaluated. If its truthvalue is false, the next proposition designated by a statement isprocessed. If its truth value is true, the current proof step issubstituted for the variable s in the proposition and the resultingproposition is evaluated. If its value is false, the next propositiondesignated by a statement is evaluated. If its value is true, theproposition is appended to the arguments of the conjunction in theset-of form given above. If the evaluation of the resulting set-of formyields a set of proof steps within a given time interval such as tenminutes, this set of proof steps is tentatively appended to the partialproof. If another evaluation of the set-of form within this timeinterval yields a set of proof steps containing the current proof step,Substage (c) is executed. Otherwise, the next proposition designated bya statement is processed. If the execution time of this stage is greaterthan the sum of the execution times that were required for thegeneration of the set-of forms to be unified multiplied by a numbergreater than one, the fifth stage of the iteration step is executed.

(c) Analogously to the set-of form generated in the elementary analysis,the conjunction in the set-of form produced by Substage (b) containsunessential arguments. Therefore, the system multiplies the sum of theexecution times of this set-of form and the set-of form obtained bytentatively appending the proof steps produced by the evaluation of thisset-of form to the partial proof by a number greater than one such astwo or four, which yields a time interval. Then, it tentatively removesone argument at a time from the conjunction and evaluates the resultingset-of form. If this yields a set of proof steps within the timeinterval, these proof steps are tentatively appended to the partialproof. If another evaluation of the set-of form within this timeinterval yields a set of proof steps containing the current proof step,the corresponding argument is definitively removed from the conjunction.Thus, this procedure produces an set-of form from whose conjunction noargument can be removed, that is, the conjunction finally contains onlyessential arguments. When all arguments of the conjunction in the set-ofform are processed, the last set-of form in the partial method isreplaced by this set-of form and the sixth stage of the iteration stepis executed.

5. Division. The set-of form generated by the third stage of theiteration step is inserted as the last argument of the last-nonempty-setform in the partial method. Then, the sixth stage is executed.

6. Update of the iteration variables and exit. If the pointer points tothe last proof step, the if form in the partial method is replaced bythe if form in the method which yields the method. Otherwise, theiteration variables partial-proof and pointer are updated. The value ofthe form

    (partial-method axioms theorem proof pointer)

is assigned to the variable partial-proof and the value of the variablepointer is increased by one. Then, the first stage of the iteration stepis repeated.

The control of the analysis procedure by time intervals serves for theautomatic adaption of this procedure to the complexity of the proof.

A trace of the analysis process. This section describes a trace of theanalysis process which is produced by the application of theself-developing analysis procedure to the axioms, the theorem, and theproof.

1. An elementary analysis. The application of the initial method to theaxioms, the theorem, the proof, and the pointer 1 yields the emptytuple. Therefore, an elementary analysis is executed. The elementaryanalysis and the simplication stage for the first proof step yield aset-of form which is identical with the first set-of form in the method.The generation of the third argument

    (equal: (arg `(21)s) (arg 1 theorem))

in the conjunction of this set-of form is described subsequently. Aninitial statement is

    (equation: theorem),

which says that the theorem is an equation. The application of the firstaxiom in the reflection base, which describes the arguments of the ruleof inference chain-rule, to the initial statements among other thingsyields the statement

    (term: (arg `(2 1)s)),

which says that the first argument of the chain rule in a proof step sis a term. The reflection base contains the axiom

    ______________________________________                                               (for-all                                                                            x                                                                             (if    (equation: x)                                                                 then                                                                          (term: (arg 1 x )))),                                     ______________________________________                                    

which says that the left side of an equation is a term. This axiom isapplied to the statement

    (equation: theorem),

which yields the statement

    (term: (arg 1 theorem)).

Furthermore, the reflection base contains the axiom

    ______________________________________                                        (for-all   x y                                                                           (if    (and (term: x) (term: y))                                                     then                                                                          (proposition: (equal: x y))),                               ______________________________________                                    

which says that the equality relation between two terms forms aproposition. The application of this axiom to the above statements,which designate terms, yields the statement

    (proposition: (equal: (arg `(2 1)s) (arg 1 theorem))),

which designates the proposition

    (equal: (arg `(2 1)s) (arg 1 theorem)).

The first proof step is substituted for the variable s in thisproposition. The evaluation of the resulting proposition yields thetruth value true so that this proposition is appended to the argumentsof the conjunction in the set-of form.

2. A simplification process. The conjunction in the set-of formgenerated by the elementary analysis contains unessential arguments, forexample, the argument

    (equal: (arg 1 theorem) (arg 1 theorem)),

which says that the left side of the theorem is equal to itself. Thedeletion of such arguments yields the first set-of form in the method.This set-of form is inserted into the initial method as an argument ofthe last-nonempty-set form.

3. A division process. The application of the resulting partial methodto the axioms, the theorem, the proof, and the pointer 2 does notproduce the second proof step. The elementary analysis and thesimplification stage for the second proof step yield the set-of form

    ______________________________________                                        (set-of s                                                                     (and   (proof-step: s)                                                               (equal: (arg '(2 0) s) 'chain-rule)                                           (element: (arg '(2 1) s) (projection '(1 2) partial-proof))                   (element: (arg '(2 3) s) axioms)                                       (same-set:   (variables (arg 2 (arg '(2 3) s)))                                            (variables (arg 1 (arg '(2 3) s)))))).                           ______________________________________                                    

Because the unification stage fails, this set-of form is inserted intothe last-nonempty-set form as its last argument.

4. A unification process. The application of the resulting partialmethod to the axioms, the theorem, the proof, and the pointer 3 does notproduce the third proof step. The elementary analysis and thesimplification stage for the third proof step yield a set-of form thatis identical with the second set-of form in the method. The unificationof this set-of form and the second set-of form in the partial methodyields this set-of form again because the substitution of the secondproof step for the variable s in the arguments

    ______________________________________                                        (subset:   (variables (arg 2 (arg '(2 3) s)))                                            (variables (arg 1 (arg '(2 3) s))))                                ______________________________________                                    

and

    ______________________________________                                        (not (element:                                                                             (arg '(1 2) s)                                                                (projection '(1 1) partial-proof)))                              ______________________________________                                    

of the conjunction in this set-of form produces propositions whoseevaluation yields the truth value true. Therefore, the second set-ofform in the partial method is replaced by this set-of form.

5. A successful application of the partial method. The application ofthe resulting partial method to the axioms, the theorem, the proof, andthe pointer 4 produces the fourth proof step.

The replacement of the if form in the partial method by the if form inthe method yields the method. If the argument

    ______________________________________                                        (same-set:  (variables (arg 2 (arg '(2 3) s)))                                            (variables (arg 1 (arg '(2 3) s))))                               ______________________________________                                    

is deleted before the argument

    ______________________________________                                        (subset:   (variables (arg 2 (arg '(2 3) s)))                                            (variables (arg 1 (arg '(2 3) s))))                                ______________________________________                                    

in the simplification stage for the second proof step, this subset: formis used instead of the same-set: form in the conjunction of the set-ofform. The resulting partial method generates all proof steps of theproof so that a unification process is not required. If the lengths ofthe left and right sides of the axioms are compared instead of the setof variables in their left and right sides, the self-developing analysisprocedure produces the argument

    ______________________________________                                        (equal:     (length (arg 2 (arg '(2 3) s)))                                               (length (arg 1 (arg '(2 3) s))))                                  ______________________________________                                    

for the second proof step and the argument

    ______________________________________                                        (less:     (length (arg 2 (arg '(2 3) s)))                                               (length (arg 1 (arg '(2 3) s)))).                                  ______________________________________                                    

for the third proof step. Then, the unification stage produces thedisjunction of these arguments

    ______________________________________                                        (or      (equal: (length (arg 2 (arg '(2 3) s)))                                               (length (arg 1 (arg '(2 3) s))))                                    (less:                                                                             (length (arg 2 (arg '(2 3) s)))                                               (length (arg 1 (arg '(2 3) s)))))                                 ______________________________________                                    

as an argument of the conjunction in the set-of form. The application ofthe analysis procedure to the proof obtained from the proof given aboveby exchanging the left and right sides of the equations and reversingthe order of the proof steps yields a method that is similar to themethod given above. These three variants of the proof analysisillustrate the robustness of the self-developing analysis procedure.

Applications of the method. The application of simple variations of themethod to other axiom systems and other theorems of group theory whichare usually contained in textbooks of higher mathematics, yields proofsof these theorems. Examples of such theorems are the theorem that agroup contains only one identity element, that the inverse element of anelement is unique, and that the inverse element of the inverse elementis equal to the original element. Simple variations of the method aresuitable for generating proofs of much more difficult theorems which canbelong to other mathematical theories such as lattice theory (K. Ammon,"The Automatic Development of Concepts and Methods", DoctoralDissertation, University of Hamburg, 1988). Some of these variations canautomatically be generated by inserting arguments of conjunctions inset-of forms into the conjunctions of other set-of forms. Generally,such variations can be constructed on the basis of methods generated byan analysis of simple proofs.

An important aspect of the example of a self-developing computer systemdescribed above is that the method is a complete instruction, that is, acomputer program. It consists of elementary complete instructions, thatis, elementary programs such as the subset relation. This method isgenerated on the basis of these elementary programs and the domains andranges of the functions these programs represent, that is, elementarymeta-knowledge about these programs. Thus, a selfdeveloping computersystem can generate elementary complete instructions and elementarymeta-knowledge about these instructions which are not contained in thereflection base in the same way as it generates new special knowledge.This ability is very extensive if the reflection base contains auniversal set of elementary complete instructions, from which allcomplete instructions can be composed, and elementary meta-knowledgeabout these instructions. It is known that the function determiningwhether a computer program maps the set of natural numbers into itselfis not computable, that is, there is no fixed computer programrepresenting this function. If the reflection base of a self-developingcomputer system contains a universal set of elementary completeinstructions and elementary meta-knowledge about these instructions, thesystem can, as described above, generate computer programs mapping theset of natural numbers into itself. Thus, a self-developing computersystem is able to determine functional values of non-computablefunctions in the same way as it generates new special knowledge.

The example described above is a simple self-developing computer systemwhich illustrates essential processes in such a system. The set-of formsin the example are simple knowledge components. It does not containdivision processes of existing knowledge components. Such processes canarise if a set-of form produces the proof step to be analyzed after thedeletion of arguments in its conjunction. Because in this exampleaxioms, theorems, and proofs are processed as general signals, whichneed not be completely coverable by theories, and the task to constructa proof represents the general task to construct signals, theself-developing analysis procedure can be used in other fields ofapplication. The stages in this procedure such as elementary analysis,simplification, unification, and division can be interwoven into oneanother and more sophisticated for the analysis of complex signals.

Self-developing computer systems are able to generate proofs forsignificant theorems from higher mathematics. The representation ofthese theorems and proofs is similar to the ordinary representation oftheorems and proofs in textbooks which uses natural language to a largeextend. Proofs for the difficult theorem that, in a ring, x³ =x impliesthe commutativity of multiplication and Banach's fixed point theorem,which is one of the most powerful theorems in higher analysis, can begenerated on the basis of operators which are comparable to the set-offorms in the method described above and which can be constructed by ananalysis of simple proofs (K. Ammon, "The Automatic Development ofConcepts and Methods", Doctoral Dissertation, University of Hamburg,1988; K. Ammon, "Discovering a proof for the fixed point theorem: A casestudy", Proceedings of the Eighth European Conference on ArtificalIntelligence, Munich, August 1988, Pitman, London, England). The factthat proofs of these theorems can be generated on personal computersthat are custumary in trade demonstrates the efficiency and economy ofself-developing computer systems. Self-developing computer systems areuser-friendly because their user interfaces need not be completelycoverable by explicit theories and can be similar to the communicationin natural language.

Self-developing computer systems are not limited to the particular formdescribed, but on the contrary, the invention covers all modifications,equivalents, and alternatives falling within the spirit and scope of theinvention as defined by the appended claims. A decisive aspect of aself-developing computer system is that it generates efficient newknowledge from more elementary knowledge. Apart from proofs, thisknowledge can for example contain programs, methods, theories, physicalobjects, or the movements of robots. Another decisive aspect of such asystem is that the processes generating new knowledge cannot completelybe covered by a given explicit theory.

INDUSTRIAL APPLICABILITY

Potential fields of application of self-developing computer systems orprocesses are fields that cannot completely be covered by given explicittheories and thus require an automatic construction of new knowledge.The new knowledge originates from an analysis of a field of applicationand enables such a system or process to solve more difficult newproblems. Examples of fields of application are the construction ofproofs in knowledge-based systems, the construction of computerprograms, or the control of the movements of robots.

APPENDIX

Definition 1. The arg function is a binary function whose first argumentis a pointer (Definition 3) and whose second argument is a functionalform, that is, a function and arguments for this function. The value ofthe form (arg`()x) is x and the value of (arg`(. . . n)x), where n is anatural number greater than or equal to zero, is the n-th argument ofthe value of (arg`(. . .)x), where the points represent the samesequence of numbers and the zeroth argument of a form is the name of thefunction in this form. Furthermore, (arg n x) stands for (arg`(n)x).Examples: The value of (arg`()`(f a b)) is (f a b), the value of (arg0`(f a b)) is f, the value of (arg 1`(f a b)) is a, and the value of(arg`(2 1)`(f a(g b c))) is b.

Definition 2. The projection function is a binary function whose firstargument is a pointer (Definition 3) and whose second argument is afunctional form. It applies the arg function to the pointer in its firstargument and the arguments of the form in its second argument whichyields a set of objects. Example: The value of the form

    ______________________________________                                        (projection   '(1 2)                                                                        (tuple  (pair (= a b) ...)                                                            (pair (= c d) ...)))                                    ______________________________________                                    

is (set b d).

Definition 3. A pointer is (), a natural number greater than or equal tozero, or a list of natural numbers. Examples: (), 0, 1, 2, (0 1), (1 1),(2 1).

The invention claimed is:
 1. A computer system having a memory forstoring knowledge, obtaining input signals and generating output signalswherein said input signals and said output signals representinformation, comprising:a reflection base for representing newknowledge, wherein said reflection base includescomplete instructionswhich can be executed by processors of known type for providingcomponents of new knowledge, and meta-knowledge about said completeinstructions for constructing compositions of said completeinstructions, special knowledge containing knowledge in a field ofapplication for providing a basis for changing and extending saidspecial knowledge itself, means for changing and extending said specialknowledge from said input signals and said special knowledge itself,wherein said means for changing and extending said special knowledgeincludesmeans for constructing compositions of said completeinstructions from said reflection base and said special knowledge, meansfor controlling the execution of said compositions of said completeinstructions on the basis of said special knowledge, and means forgenerating components of the changed and extended special knowledge fromparts of said special knowledge and parts of said compositions of saidcomplete instructions, and the processes changing and extending saidspecial knowledge cannot completely be covered by a given explicittheory; and means for generating said output signals with the aid of thechanged and extended special knowledge.
 2. A computer system as setforth in claim 1 wherein said special knowledge includesknowledgecomponents containing knowledge in subfields of said field ofapplication for providing a basis for changing and extending saidspecial knowledge, and said means for changing and extending saidspecial knowledge includes means for generating said knowledgecomponents from said input signals and said compositions of saidcomplete instructions, whereby special knowledge is generated in adivision process for input signals for which no special knowledge isavailable.
 3. A computer system as set forth in claim 1 wherein saidspecial knowledge includesknowledge components containing knowledge insubfields of said field of application for providing a basis forchanging and extending for providing a basis for changing and extendingsaid special knowledge, and said means for changing and extending saidspecial knowledge includes means for unifying said knowledge components.4. A computer system as set forth in claim 1 wherein said means forchanging and extending said special knowledge includes means forsimplifying said special knowledge, whereby essential special knowledgeis filtered out.
 5. A computer system as set forth in claim 1 whereinsaid complete instructions in said reflection base includea universalset of said complete instructions from which all complete instructionscan be composed, and said meta-knowledge in said reflection baseincludes meta-knowledge about said complete instructions in saiduniversal set of said complete instructions.
 6. A computer system as setforth in claim 1 wherein said means for changing and extending saidspecial knowledge includes means for changing and extending said specialknowledge in a feedback process on the basis of the changed and extendedspecial knowledge.
 7. A computer system as set forth in claim 1 whereinsaid means for changing and extending said special knowledge includesmeans for changing and extending said special knowledge in such a mannerthat the amount of the resources required for the application of thechanged and extended special knowledge tends to decrease, whereby thechange and extension of said special knowledge obeys the principle ofeconomy.
 8. A computer system as set forth in claim 1 wherein said meansfor changing and extending said special knowledge includes means forgenerating variations of said special knowledge and selecting thevariations that have the greatest efficiency.
 9. A computer system asset forth in claim 1 wherein said means for changing and extending saidspecial knowledge includes means for analyzing failures in theapplication of said special knowledge and correcting said specialknowledge so that said failures are avoided.
 10. A computer system asset forth in claim 1 wherein said special knowledge contains values ofnon-computable functions and said means for changing and extending saidspecial knowledge includes means for determining functional values ofnon-computable functions.
 11. A computer system as set forth in claim 1wherein said special knowledge includessaid complete instructions insaid reflection base and said meta-knowledge about said completeinstructions in said reflection base, and said means for changing andextending said special knowledge changes and extends said completeinstructions and said meta-knowledge about said complete instructions.12. A computer system as set forth in claim 1 wherein said means forchanging and extending said special knowledge includes means forchanging and extending said special knowledge in a plurality ofprocesses.
 13. A computer system as set forth in claim 1 wherein saidspecial knowledge includescompositions of said complete instructions insaid reflection base for providing a basis for changing and extendingsaid compositions of said complete instructions themselves, and saidmeans for changing and extending said special knowledge changes andextends said compositions of said complete instructions.
 14. A computersystem as set forth in claim 1 wherein said means for changing andextending said special knowledge includes means for generating objectssatisfying a description of said objects including means for producing aset of objects from said description and selecting said objectssatisfying said description from said set of objects.
 15. A process ofoperating a computer, obtaining input signals and generating outputsignals wherein said input signals and said output signals representinformation, said computer having a memory for storing knowledgeincludinga reflection base for representing new knowledge, wherein saidreflection base includescomplete instructions which can be executed byprocessors of known type for providing components of new knowledge, andmeta-knowledge about said complete instructions for constructingcompositions of said complete instructions, and special knowledgecontaining knowledge in a field of application for providing a basis forchanging and extending said special knowledge itself,said processcomprising the steps of: changing and extending said special knowledgefrom said input signals and said special knowledge itself, wherein thestep of changing and extending said special knowledge includes the stepsofconstructing compositions of said complete instructions from saidreflection base and said special knowledge, controlling the execution ofsaid compositions of said complete instructions on the basis of saidspecial knowledge, and generating components of the changed and extendedspecial knowledge from parts of said special knowledge and parts of saidcompositions of said complete instructions, and the processes changingand extending said special knowledge cannot completely be covered by agiven explicit theory, and generating said output signals with the aidof the changed and extended special knowledge.
 16. A process as setforth in claim 15 wherein said special knowledge includesknowledgecomponents containing knowledge in subfields of said field ofapplication for providing a basis for changing and extending saidspecial knowledge, and the step of changing and extending said specialknowledge includes the step of generating said knowledge components fromsaid input signals and said compositions of said complete instructions,whereby special knowledge is generated in a division process for inputsignals for which no special knowledge is available.
 17. A process asset forth in claim 15 wherein said special knowledge includesknowledgecomponents containing knowledge in subfields of said field ofapplication for providing a basis for changing and extending saidspecial knowledge, and the step of changing and extending said specialknowledge includes means for unifying said knowledge components.
 18. Aprocess as set forth in claim 15 wherein the step of changing andextending said special knowledge includes the step of simplifying saidspecial knowledge, whereby essential special knowledge is filtered out.19. A process as set forth in claim 15 wherein said completeinstructions in said reflection base includea universal set of saidcomplete instructions from which all complete instructions can becomposed, and said meta-knowledge in said reflection base includesmeta-knowledge about said complete instructions in said universal set ofsaid complete instructions.
 20. A process as set forth in claim 15wherein the step of changing and extending said special knowledgeincludes the step of changing and extending said special knowledge in afeedback process on the basis of the changed and extended specialknowledge.
 21. A process as set forth in claim 15 wherein the step ofchanging and extending said special knowledge includes the step ofchanging and extending said special knowledge in such a manner that theamount of the resources required for the application of the changed andextended special knowledge tends to decrease, whereby the change andextension of said special knowledge obeys the principle of economy. 22.A process as set forth in claim 15 wherein the step of changing andextending said special knowledge includes the step of generatingvariations of said special knowledge and selecting the variations thathave the greatest efficiency.
 23. A process as set forth in claim 15wherein the step of changing and extending said special knowledgeincludes the step of analyzing failures in the application of saidspecial knowledge and correcting said special knowledge so that saidfailures are avoided.
 24. A process as set forth in claim 15 whereinsaid special knowledge contains values of non-computable functions andthe step of changing and extending said special knowledge includes thestep of determining functional values of non-computable functions.
 25. Aprocess as set forth in claim 15 wherein said special knowledgeincludessaid complete instructions in said reflection base and saidmeta-knowledge about said complete instructions in said reflection base,and the step of changing and extending said special knowledge changesand extends said complete instructions and said meta-knowledge aboutsaid complete instructions.
 26. A process as set forth in claim 15wherein the step of changing and extending said special knowledgeincludes the step of changing and extending said special knowledge in aplurality of processes.
 27. A process as set forth in claim 15 whereinsaid special knowledge includescompositions of said completeinstructions in said reflection base for providing a basis for changingand extending said compositions of said complete instructionsthemselves, and the step changing and extending said special knowledgechanges and extends said compositions of said complete instructions. 28.A process as set forth in claim 15 wherein the step of changing andextending said special knowledge includes the step of generating objectssatisfying a description of said objects including the steps ofproducing a set of objects from said description and selecting saidobjects satisfying said description from said set of objects.